Computer aided design (CAD) programs are powerful design tools used in many industries to research and design three-dimensional objects and structures on a computer with nearly infinite precision and accuracy. Common CAD programs include AutoCAD owned by Autodesk, Inc. and Pro/ENGINEER owned by Parametric Technology Corporation. Typically, these programs allow a user to generate a three-dimensional solid-state model in a layer by layer format with each layer composed of multiple parts. Among the many functions these programs offer, at any point during the design of the solid-state model, the user is given the ability to manipulate, scale and rotate the entire model or particular layers or individual parts as necessary.
FIG. 2 shows one example of a rendered graphical display 200 of a plurality of parts 210 that together create a single model 220 using a CAD program. The CAD program stores each of the plurality of parts 210 in original solid-state model source data by breaking down each part 210 into the surfaces that form the part. Multiple data points that define each surface are stored as solid-state model source data by the CAD program. This allows the CAD program to generate each part stored in the solid-state model source data surface-by-surface.
The solid-state model source data is typically stored in a file directory containing multiple files. FIG. 3 shows one example of a file directory 300 containing multiple files that make up the solid-model source data for the model 220. In this example, the source data stored in the file directory 300 is stored into 49 files that take up a total of approximately 16 MB of memory. The files are made up of 13 assembly files 310A in an ASM file format, 34 part files 310A in a PRT file format, an IDX file format file 310C, and an MTL file format file 310D. The source data for each of the plurality of parts 210 is stored in a part file 310B or in a collection with other parts 210 that together form an assembly or sub-assembly of parts. For each part, the part files 310B and the assembly files 310A contain solid-model source data including a list of surfaces, edges and features that represent a physical, three-dimensional component.
In order to ensure the accuracy and precision of the solid-state model, CAD programs store solid-state data of each data point on the surface in a double precision format. The double precision format requires 64 bits for each data point being stored. The left most bit is set as the sign bit, followed by 11 bits set as the exponent and the remaining 52 bits set as the mantissa. In many solid-state models, there are numerous data points for each surface of a part, resulting in large memory storage requirements. As shown in FIG. 3, solid-state model data for an entire model is typically stored in a file directory containing multiple assembly files, each containing solid-model data for a collection of parts, and multiple part files, each containing solid-model data for a particular part of the model. Rendering and displaying a three-dimensional solid-state model on a two-dimensional display with substantial solid-state model data stored in a double precision format for every surface of every part, requires a high-end computer system that can run numerous large scale calculations quickly and efficiently.
Another drawback of solid-state model data generated from CAD programs is that the solid-state model data is not easily transferable to other users or other computers. Due to memory size of the solid-state model data these models are typically too big to send over email. Also, even if the solid-state model data is transferred to another computer, the new computer typically requires a CAD program to view, edit and manipulate the solid-state model. As many computers are not powerful enough to perform the calculations needed to process the data or are not licensed to use CAD software, allowing multiple users to view, edit and manipulate the solid-state model becomes difficult.
Thus, improved processes and systems for compressing, translating and storing solid-state model data are needed.